package cn.tedu.map;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class MapDemo1 {
    public static void main(String[] args) {
        //创建映射对象
        Map<String,Integer> map=new HashMap<>();
        //添加元素
        map.put("abcd",1234);
        map.put("bcd",234);
        map.put("acd",134);
        //map.put("abd",124);
        //如果键重复但是值没有重复
        //会把新的重复的键的对象舍弃掉
        //值会进行更新
        //HashSet底层遇到重复的键的对象，会把重复的键对象以及值对象都舍弃掉
        map.put("abd",1);
        map.put("abc",123);
        map.put("1abcd",11234);
        map.put("ab1cd",12134);
        map.put("a",null);


        //清空映射
        //map.clear();

        //判断是否包含指定的键/值
        /*System.out.println(map.containsKey("abc"));
        System.out.println(map.containsValue(123));*/


        //把映射中所有的键值对放到Set集合中
        //Map.Entry<String, Integer>---键值对的类型
        //自动生成返回值类型---Ctl+Alt+v
        //Set<Map.Entry<String, Integer>> set = map.entrySet();



        //根据指定的键返回对应的值
        //如果映射中没有指定的内容返回null值
        //System.out.println(map.get("a"));


        //判断映射是否为空
        //System.out.println(map.isEmpty());


        //把映射中所有的键放到Set集合中
        //Set<String> set = map.keySet();

        //根据指定的键来删除键值对
        //如果映射没有指定的内容就不做热任何操作
        //如果在映射里没有找到指定内容返回null值，如果找到返回对应的值
        //System.out.println( map.remove("a"));
        //保证键和值要对应才能删除
        //如果映射里没有找到指定的键和值返回false，反之返回true
        //System.out.println(map.remove("abc",1123));

        //映射的元素个数---键值对的个数
        //System.out.println(map.size());

        //把映射中所有的值放到集合中
        //Collection<Integer> values = map.values();

        //键值对无序
        //键值对根据键来决定存储位置
        //键无序的，所以键值对也是无序的
        System.out.println(map);
    }
}









